home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 5
/
Apprentice-Release5.iso
/
Source Code
/
Libraries
/
3D Class Library
/
cosin.cp
< prev
next >
Wrap
Text File
|
1996-06-27
|
2KB
|
56 lines
// =======================================================================
// 3D Class Library, © Xilex Group
// - ------------------------------------------------------------------- -
// Written by Dmitry Boldyrev
// =======================================================================
#include <math.h>
#include <stdio.h>
#include "cosin.h"
static WORD SinTable[360], CosTable[360];
void initSinCos()
{
for (WORD count = 0; count < 360; count++)
{
SinTable[count] = (WORD) (sin(count * PI / 180.0) * 32767);
CosTable[count] = (WORD) (cos(count * PI / 180.0) * 32767);
}
}
// =======================================================================
// Only inputs 0..359 are valid
// =======================================================================
WORD RSIN(WORD deg)
{
return SinTable[BOUND360(deg)];
}
// =======================================================================
// Any inputs valid
// =======================================================================
WORD DSIN(SINGLE rad)
{
return RSIN((WORD) (rad * 180.0 / PI));
}
// =======================================================================
// Only inputs 0..359 are valid
// =======================================================================
WORD RCOS(WORD deg)
{
return CosTable[BOUND360(deg)];
}
// =======================================================================
// Any inputs valid
// =======================================================================
WORD DCOS(SINGLE rad)
{
return RCOS((WORD) ((rad * 180.0) / PI));
}